// 分类
import { getCategory } from "@/api/home";

export default {
    namespaced:true,
    state:{
        //分类数组
        categoryDataList:[],
    },
    //异步
    actions:{
        //定义获取分类列表的方法
        getCategoryDataList({commit}){
            getCategory().then(result=>{
                //调用mutations中的方法，收到回调，存入store中
                commit('GETCATEGORYDATALIST',result.data.result)
            })
        }
    },

    //同步
    mutations:{
        GETCATEGORYDATALIST(state,data){
            state.categoryDataList = data
        }
    },

    //getters 中的函数等同于属性，不允许传参，如果想传参数可以return中返回一个带参函数
    getters:{
        
        //包装分类，首页-banner-左侧分类view 使用
        wrapCategory(state){
            let categoryNav=[]
            
            state.categoryDataList.forEach(e=>{
                categoryNav.push({
                    id:e.id,
                    name:e.name,
                    children:e.children.splice(0,2)  // 去前两个
                })
            });

            //添加本地自定义的数据
            const brand = {
                id:'brand',
                name:'品牌',
                children:[{
                    id:'brand-children',
                    name:'品牌推荐'
                }]
            };

            categoryNav.push(brand);

            return categoryNav;
        }

    }

}